The design of an input/output (I/O) transmission interface for transmitting data across a communications channel poses many challenges. The channel may be any medium through which the data may pass, including, but not limited to, a trace on a printed circuit board, a cable between two personal computers, or, in the case of wireless communications, the ambient air. Issues such as high insertion loss, near- and far-end cross-talk, inter-symbol interference (ISI), jitter amplification, tight requirements on transmit or receive pad capacitance, and linearity and accuracy of on-die termination resistors, may confound designs for use in high-speed applications.
Transmitters are used to ensure the successful transmission of data traversing the communications channel. Encoders, equalizers, and drivers are among the components that make up a traditional backplane transmitter. The system designer builds the transmitter with the channel characteristics, including its length, and the data characteristics, including its speed of transmission, in mind.
Each channel may be characterized by an associated channel transfer function. In order to transmit data across the channel, the equalizer ostensibly cancels out the channel loss or reflection induced artifacts. Specifically, equalizers correct for inter-symbol interference, either at the transmit end or the receive end of the communications link. Inter-symbol interference, which is caused by the inherent channel characteristics, such as frequency dependent signal attenuation, results in a spreading of the data pulse beyond the intended time interval. Thus, following the transmission of a “1” bit across the channel, some of the “1” bit may persist within the channel. This remaining portion of the “1” bit may distort or cancel out successful transmission of a successive “0” bit. In effect, equalizers approximate the inverse of the channel transfer function such that only the intended data is obtained at the receive end of the channel.
Digital transmit equalizers are typically implemented using FIR filters. A digital FIR filter in an equalizer implements the following expression:
                              Y          =                                                    ∑                                  i                  =                  0                                                  N                  ⁢                                                                          ⁢                  1                                            ⁢                                                a                  i                                ⁢                                  x                  j                                                      +            Offset                          ,                            (        1        )            where ai is a coefficient of the filter, xi is the input data, N is the number of filter taps, and Offset is the bias added to keep the FIR output, Y, non-negative. According to equation (1), there are N input bits, xi, and N coefficients, ai, one for each “tap,” or “stage,” of the FIR filter. Usually, the coefficients are signed binary fractions, which may be positive or negative.
In order to implement an FIR filter with normalized output values, the coefficients may be scaled to prevent overflow. This may be achieved by selecting the coefficients such that the absolute value of their sum is one. Stated mathematically:
                                          ∑                          i              =              0                                      N              ⁢                                                          ⁢              1                                ⁢                                                a              i                                                  =        1.                            (        2        )            
There are several known methods for implementing an FIR filter in an integrated circuit (IC). One method is to use a look-up table, where all possible output values, Y, for a given set of coefficients, ai, are pre-computed and stored. During normal operation, input data stream bits, xi, are used to address and read out corresponding output value, Y, from the look-up table.
The use of a look-up table for implementing the FIR filter may be undesirable in some circumstances. To implement such a design, the FIR filter may include a central control unit to compute and pre-load the look-up table contents in each transmitter, which may significantly increase the initialization time of the channel. Further, where the coefficients are pre-computed, the number of taps in the FIR filter is generally fixed, rather than being programmable. Thus, where fewer taps are sufficient for the equalizer implementation, such as for shorter channel designs, or where more taps are desired, such as with high-speed servers, look-up table-based FIR filters are not easily modified. This may result in either a non-optimal solution, in which more taps than necessary are utilized, or a complete redesign of the FIR filter. Further, because of the limitations on changes to the number of taps and or coefficient values, look-up table-based FIR filters tend to be difficult to test or debug.
Another method for implementing an FIR filter is to use a multiplier-accumulator, or MAC, to perform the calculations. MAC-based FIR filters are typically software-configurable, modular designs with a programmable number of taps and coefficients. Such FIR filters may thus be suitable for supporting changing channel environments. A MAC-based FIR filter may support a wide variety of transfer functions, for example, those associated with a short channel environment, such as a desktop personal computer (PC), or those associated with a longer channel environment, such as a server application, with merely a change in the programming parameters.
Like look-up table-based FIR filters, MAC-based FIR filters also have shortcomings. For one, the MAC-based design involves substantial power and area requirements. Additional hardware may also be included to compute the offset, which may increase the initialization time of the filter. Interleaving of multiple FIR filters may be incorporated in the design in order to meet specifications for high-speed operation, adding to its complexity.
Other components in the transmitter may present design challenges as well. The driver, which translates incoming data, usually in digital form, into an analog waveform, suitable for transmission over the channel. Typically, drivers consist of transistors and resistors to operate in either voltage-mode or current-mode topology. It is usually easier to operate with currents than with voltages; hence, current-mode drivers tend to be more popular for implementing drivers in high-speed I/O applications.
As the supply voltages of integrated circuits continue to drop (current designs supply 1 V or less), the design of highly linear current-mode drivers becomes more challenging, as the voltage “headroom,” or available voltage for driving the current, is shrinking, while the driver output voltages typically stay constant or even increase. Techniques to improve the linearity of current-mode drivers may include the use of special long-channel transistors or cascode biasing structures. These techniques fail to address the high linearity and high output voltage demands of some high-speed I/O environments.
In describing channel transmission and transmitter architectures, reference is made to a “backplane.” As used herein, a backplane refers to a communication channel between integrated circuits (ICs), where the ICs may include, but are not limited to, processors, memories, chipsets, digital signal processors, and so on. Traditionally, the ICs are disposed on a printed circuit board (PCB), but the backplane referred to herein may include a communications channel between ICs disposed on distinct PCBs, such that the backplane includes one or more interconnects, traces, and vias. Further, the backplane may include connections between ICs over cables, wires, or other media not embedded in the PCB, but merely connected thereto.
A traditional backplane transmitter architecture consists of an “output-mux” topology. In such a topology, an analog waveform amplitude is controlled by redundant elements in the driver, each of which is directly connected to the output terminals of the transmitter. That is, with current-mode drivers, the terminals are the current-summing nodes of the driver, where a main driver unit generates most of the current and redundant driver units generate additional current, as needed for equalization, to change total output current. For high-speed data transmission, the design of the transmitter may call for multi-tap (typically, up to six taps) functionality. To extend the traditional “output-mux” topology to support multiple taps in the equalizer, the number of summing nodes in the driver is expected to increase exponentially, leading to parasitic capacitance on the output terminals, which in turn may adversely impact the ability to achieve the desired high-speed operation.
Thus, there is a continuing need for an improved transmitter design, which overcomes the shortcomings of the prior art.